package com.guijq.design.factory.pizzaaf.factory;

import com.guijq.design.factory.pizzaaf.ingredient.Cheese;
import com.guijq.design.factory.pizzaaf.ingredient.Clams;
import com.guijq.design.factory.pizzaaf.ingredient.Veggies;
import com.guijq.design.factory.pizzaaf.ingredient.impl.FreshClams;
import com.guijq.design.factory.pizzaaf.ingredient.impl.RedPepper;
import com.guijq.design.factory.pizzaaf.ingredient.impl.ReggianoCheese;
import com.guijq.design.factory.pizzaaf.ingredient.impl.ThinCrustDough;
import com.guijq.design.factory.pizzaaf.ingredient.Dough;
import com.guijq.design.factory.pizzaaf.ingredient.Pepperoni;
import com.guijq.design.factory.pizzaaf.ingredient.Sauce;
import com.guijq.design.factory.pizzaaf.ingredient.impl.Garlic;
import com.guijq.design.factory.pizzaaf.ingredient.impl.MarinaraSauce;
import com.guijq.design.factory.pizzaaf.ingredient.impl.Mushroom;
import com.guijq.design.factory.pizzaaf.ingredient.impl.Onion;
import com.guijq.design.factory.pizzaaf.ingredient.impl.SlicedPepperoni;

/**
 * Created by Gavin on 2017/3/9.
 */
public class NYPizzaIngredientFactory implements PizzaIngredientFactory {
    public Dough createDough() {
        return new ThinCrustDough();
    }

    public Sauce createSauce() {
        return new MarinaraSauce();
    }

    public Cheese createCheese() {
        return new ReggianoCheese();
    }

    public Veggies[] createVeggies() {
        Veggies veggies[] = {new Garlic(), new Onion(), new Mushroom(), new RedPepper()};
        return veggies;
    }

    public Pepperoni createPepperoni() {
        return new SlicedPepperoni();
    }

    public Clams createClam() {
        return new FreshClams();
    }
}
